package com.waitingresult.zuo.list;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * @Author: WangShuai
 * @CreateTime: 2022-11-08  19:32
 * @Description:  k个节点的组内调整
 * @Version: 1.0
 */
public class ListDemo {
    public static void main(String[] args) {
        list();
        //map();
        //doubleListEq();
    }

    private static void doubleListEq() {
        ArrayList<Integer> list1 = new ArrayList<>();
        list1.add(1);
        ArrayList<Integer> list2 = new ArrayList<>();
        list2.add(2);
        System.err.println(list1);
        System.err.println(list2);
        System.err.println("===");
        // 修改地址值引用,此时由于原本list1 里面的值 【1】 就会被GC
        list1 = list2;
        System.err.println(list1);
        System.err.println(list2);
        System.out.println(list1 == list2);
    }

    private static void map() {
        HashMap<Integer, String> intMap = new HashMap<>();
        intMap.put(1111, "value :1 ");
        intMap.put(2222, "value :2222 ");
        intMap.put(3333, "value :3333 ");
        intMap.put(4444, "value :4444 ");
    }

    private static void list() {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(4);
        list.add(2);
        list.add(3);
        list.add(1);
        System.err.println(list);
        add(list);
        System.err.println(list);
        System.err.println("=====forNull ----return ");
        //list1 = null
        //List list1 = forNull(list);
        forNull(list);
      //  System.out.println(list1);
        System.err.println("=====forNull ----return ");

        System.err.println(list);
    }

    private static void forNull(ArrayList<Integer> list) {
        list.add(777);
        list.remove(0);
        System.err.println(list);

        list = null;
        System.err.println(list);
        // return list;
    }

    private static void add(ArrayList<Integer> list) {
        list.add(5);
    }
}
